// pages/tabbars/home/home.js
const app = getApp()
import areaList from '../../../static/js/Area'
import {
  request
} from '../../../utils/api'
import Dialog from '../../../vant/dialog/dialog';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    indicatorDots: true,
    // 自定义nav
    statusBarHeight1: app.globalData.statusBarHeight + 45,
    // 选择城市的数据
    areaList: areaList,
    tabbar: {},
    // 轮播图数据
    swiperList: [],
    imgBaseUrl: app.globalData.imgBaseUrl,
    // 显示的公告列表
    noticeList: [],
    // 中标金额 项目总量  人才总量
    someData: {},
    // 分类集合
    typeList: [{
      id: '',
      varietyName: '所有'
    }],
    // 专业集合
    zhuanYeList: [{
      id: '',
      varietyName: '所有'
    }],
    // 项目状态集合
    projStateList: [{
      id: '',
      varietyName: '所有'
    },{
      id: '1',
      varietyName: '招标中'
    },{
      id: '3',
      varietyName: '已开标'
    },{
      id: '4',
      varietyName: '已完成'
    }],
    // 日期集合
    dateList: [{
      id: '',
      varietyName: '所有'
    },{
      id: '3天之内',
      varietyName: '3天之内'
    },{
      id: '7天之内',
      varietyName: '7天之内'
    },{
      id: '15天之内',
      varietyName: '15天之内'
    },{
      id: '30天之内',
      varietyName: '30天之内'
    },{
      id: '60天之内',
      varietyName: '60天之内'
    }],
    // 选择的分类
    isType: '',
    // 选择的专业
    isMajor: '',
    // 选择的项目状态
    isProjState: '',
    // 选择的时间
    isDate: '',
    // 选择的省  市 区
    prov: '',
    city: '',
    area: '',
    // 显示的变量
    showAddr: '地点',
    showType: '分类',
    showMajor: '专业',
    showTime: '时间',
    showProjState: '状态',
    // 项目列表
    projList: [],
    // 数据页数
    pageNum: 1,
    // 是否加载更多
    isLoad: true,
    // 是否显示置顶按钮
    shoGoTop: true,
    // 选择器是否吸顶
    isXi: false,
    scrollHeight: '',
  },
  // 返回
  goBack() {
    wx.navigateBack({
      delta: 1
    })
  },
  // 发布
  onIssue() {
    console.log('发布');
     wx.getStorage({
      key: 'userInfo',
      success: (res) => {
        console.log(res);
        wx.navigateTo({
          url: '/pages/home/issuePro/issuePro',
        })
      },
      fail: (res1) => {
      Dialog.confirm({
          title: '提示',
          confirmButtonText: '立即登录',
          message: '您暂未登录，请先登录才能发布项目',
        })
        .then(() => {
          wx.redirectTo({
            url: '/pages/login/login',
          })
        })
        .catch(() => {
          // on cancel
          Dialog.close()
        });
       
      }
    })
    
  },
  // 回到顶部
  goTop() {
    wx.pageScrollTo({
      scrollTop: 0
    })
  },
  // 获取滚动条的位置
  onPageScroll(e) {
    console.log(e);
    if (e.scrollTop > 300) {
      this.setData({
        shoGoTop: false
      })
    } else {
      this.setData({
        shoGoTop: true
      })
    }
    if(e.scrollTop >= this.data.scrollHeight) {
      this.setData({
        isXi: true
      })
    } else {
      this.setData({
        isXi: false
      })
    }
  },
  // 跳转详情
  goDetail(e) {
    // console.log(e.currentTarget.dataset.projid);
    let projId = e.currentTarget.dataset.projid
    wx.navigateTo({
      url: '/pages/home/proDetail/proDetail?projId=' + projId,
    })
    // wx.getStorage({
    //   key: 'userInfo',
    //   success: (res) => {
    //     console.log(res);
    //     wx.navigateTo({
    //       url: '/pages/home/proDetail/proDetail?projId=' + projId,
    //     })
    //   },
    //   fail: (res1) => {
    //   Dialog.confirm({
    //       title: '提示',
    //       confirmButtonText: '立即登录',
    //       message: '您暂未登录或登录已过期，请先登录才能更好的体验',
    //     })
    //     .then(() => {
    //       wx.redirectTo({
    //         url: '/pages/login/login',
    //       })
    //     })
    //     .catch(() => {
    //       // on cancel
    //       Dialog.close()
    //     });
       
    //   }
    // })
    

  },
  // 跳转到搜索
  goSearch() {
    wx.navigateTo({
      url: '/pages/index/search/search?type=2',
    })
  },
  // 选择地点
  confirm(e) {
    console.log('确认');
    console.log(e);
    this.setData({
      prov: e.detail.values[0].name,
      city: e.detail.values[1].name,
      // area: e.detail.values[2].name,
      showAddr: e.detail.values[1].name,
      // 初始化请求项目列表参数
      pageNum: 1,
      isLoad: true,
      projList: []
    })
    // 关闭菜单栏弹窗
    this.selectComponent('#proAddr').toggle(false)
    this.getXiangMuList()
  },
  // 取消按钮
  cancel(e) {
    this.selectComponent('#proAddr').toggle(false)
  },
  // 选择分类
  selectCate(e) {
    this.selectComponent('#category').toggle(false)
    console.log(e);
    this.setData({
      isType: e.currentTarget.dataset.typeid,
      showType: e.currentTarget.dataset.typename,
      // 初始化请求项目列表参数
      pageNum: 1,
      isLoad: true,
      projList: []
    })
    this.getXiangMuList()
  },
  // 选择专业
  selectMajor(e) {
    this.selectComponent('#major').toggle(false)
    console.log(e);
    this.setData({
      isMajor: e.currentTarget.dataset.majorid,
      showMajor: e.currentTarget.dataset.majorname,
      // 初始化请求项目列表参数
      pageNum: 1,
      isLoad: true,
      projList: []
    })
    this.getXiangMuList()
  },
  // 选择项目状态
  selectProjState(e) {
    this.selectComponent('#projState').toggle(false)
    console.log(e);
    this.setData({
      isProjState: e.currentTarget.dataset.stateid,
      showProjState: e.currentTarget.dataset.statename,
      // 初始化请求项目列表参数
      pageNum: 1,
      isLoad: true,
      projList: []
    })
    this.getXiangMuList()
  },
  // 选择时间
  selectTime(e) {
    this.selectComponent('#time').toggle(false)
    console.log(e);
    this.setData({
      isDate: e.currentTarget.dataset.dateid,
      showTime: e.currentTarget.dataset.datename,
      // 初始化请求项目列表参数
      pageNum: 1,
      isLoad: true,
      projList: []

    })
    this.getXiangMuList()
  },
  // 重置按钮
  // onReset() {
  //   this.onPullDownRefresh()
  // },
  // 获取轮播图列表
  getSwiperList() {
    request({
      url: '/zhongyisheji-applet/lookProject/public/getBannerList',
      method: 'post',
      data: {
        bannerAddress: 1
      }
    }).then(res => {
      // console.log(res);
      if (res.code == 200) {
        this.setData({
          swiperList: res.data
        })
      }
    })
  },
  // 获取公告 列表
  getGongGao() {
    request({
      url: '/zhongyisheji-applet/lookProject/public/getGonggao',
      method: 'post',
      data: {

      }
    }).then(res => {
      // console.log(res);
      if (res.code == 200) {
        this.setData({
          someData: res.data,
          noticeList: res.data.Notice
        })
      }
    })
  },
  // 获取选择器数据
  getSelectData(type) {
    // 7 分类，  3  专业   6 时间
    request({
      url: '/zhongyisheji-applet/lookProject/public/getSysVariety',
      method: 'post',
      data: {
        type
      }
    }).then(res => {
      // console.log(res);
      if (type == 7 && res.code == 200) {
        this.setData({
          typeList: [...this.data.typeList, ...res.data]
        })
      }
      if (type == 6 && res.code == 200) {
        this.setData({
          dateList: [...this.data.dateList, ...res.data]
        })
      }
      if (type == 3 && res.code == 200) {
        this.setData({
          zhuanYeList: [...this.data.zhuanYeList, ...res.data]
        })
      }
    })
  },
  // 获取项目列表
  getXiangMuList() {
    request({
      url: '/zhongyisheji-applet/lookProject/public/getProductList',
      method: 'post',
      data: {
        pageNum: this.data.pageNum,
        pageSize: '10',
        province: this.data.prov == '不限' ? '' : this.data.prov,
        city: this.data.city == '不限' ? '' : this.data.city,
        country: this.data.area == '不限' ? '' : this.data.area,
        projectType: this.data.isType,
        zhuanyeNeed: this.data.isMajor,
        designCycle: this.data.isDate,
        openState: this.data.isProjState
      }
    }).then(res => {
      console.log(res);
      if (res.code == 200) {
        if (res.data.records.length == 0) {
          this.setData({
            isLoad: false
          })
          wx.showToast({
            title: '没有更多数据了...',
            icon: 'none'
          })
          return
        }
        this.setData({
          projList: [...this.data.projList, ...res.data.records]
        })
      }
    })
  },
  // 查询是否有未读消息
  getMessageState() {
    request({
      url: '/zhongyisheji-applet/message/private/getUserMessageState',
      method: 'post',
      data: {}
    }).then(res => {
      if (res.code == 200 && res.data.haveMessageState == 2) {
        this.setData({
          showDot: true
        })
      } else {
        this.setData({
          showDot: false
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this
    app.editTabbar();
    this.getSwiperList()
    this.getGongGao()
    this.getSelectData(7)
    this.getSelectData(3)
    // this.getSelectData(6)
    this.getXiangMuList()
    wx.createSelectorQuery().select('#select').boundingClientRect(function (rect) {
      console.log(rect.top);
      that.setData({
        scrollHeight: rect.top - that.data.statusBarHeight1
      })
    }).exec()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getMessageState()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    console.log('下拉了');
    // if (getCurrentPages().length != 0) {
    //   //刷新当前页面的数据
    //   getCurrentPages()[getCurrentPages().length - 1].onLoad()
    // }
    // wx.switchTab({
    //   url: '/pages/tabbars/home/home',
    // })
    this.setData({
      indicatorDots: true,
      // 选择城市的数据
      areaList: areaList,
      tabbar: {},
      // 轮播图数据
      swiperList: [],
      // 显示的公告列表
      noticeList: [],
      // 中标金额 项目总量  人才总量
      someData: {},
      // 分类集合
      typeList: [{
        id: '',
        varietyName: '所有'
      }],
      // 专业集合
      zhuanYeList: [{
        id: '',
        varietyName: '所有'
      }],
      // 日期集合
      // dateList: [{
      //   id: '',
      //   varietyName: '所有'
      // }],
      // 选择的分类
      isType: '',
      // 选择的专业
      isMajor: '',
      // 选择的时间
      isDate: '',
      // 选择的省  市 区
      prov: '',
      city: '',
      area: '',
      // 显示的变量
      showAddr: '地点',
      showType: '分类',
      showMajor: '专业',
      showTime: '时间',
      // 项目列表
      projList: [],
      // 数据页数
      pageNum: 1,
      // 是否加载更多
      isLoad: true,
      // 是否显示置顶按钮
      shoGoTop: true,
    })
    this.onLoad()
    setTimeout(function () {
      wx.stopPullDownRefresh()
    }, 1200)
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (!this.data.isLoad) {
      return
    }
    this.setData({
      pageNum: this.data.pageNum + 1
    })
    this.getXiangMuList()
  },

  /**
   * 用户点击右上角分享
   */
  // onShareAppMessage: function () {

  // }
})